/*     */ package com.newcrm.bean;
/*     */ 
/*     */ import com.newcrm.util.Util;
/*     */ import java.io.Serializable;
/*     */ import java.util.ArrayList;
/*     */ import java.util.HashMap;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ import net.sf.json.JSONObject;
/*     */ import net.sf.json.JSONString;
/*     */ import org.apache.commons.lang.StringUtils;
/*     */ 
/*     */ public class Group
/*     */   implements Serializable, JSONString
/*     */ {
/*     */   private static final long serialVersionUID = 2398097279233605974L;
/*  29 */   private int id = -1;
/*  30 */   private String name = null;
/*  31 */   private int level = 0;
/*  32 */   private Group parent = null;
/*  33 */   private List<Group> children = new ArrayList();
/*     */ 
/*     */   public int getId() {
/*  36 */     return this.id;
/*     */   }
/*     */ 
/*     */   public void setId(int groupId) {
/*  40 */     this.id = groupId;
/*     */   }
/*     */ 
/*     */   public Group getParent() {
/*  44 */     return this.parent;
/*     */   }
/*     */ 
/*     */   public int getParentId() {
/*  48 */     if (this.parent == null) {
/*  49 */       return 0;
/*     */     }
/*  51 */     return this.parent.id;
/*     */   }
/*     */ 
/*     */   public void setParent(Group parent) {
/*  55 */     this.parent = parent;
/*     */   }
/*     */ 
/*     */   public String getName() {
/*  59 */     return this.name;
/*     */   }
/*     */ 
/*     */   public String getIndentName()
/*     */   {
/*  68 */     if (this.level == 0) {
/*  69 */       return this.name;
/*     */     }
/*     */ 
/*  72 */     return StringUtils.repeat("&nbsp;&nbsp;", this.level) + 
/*  73 */       Util.HTMLEncode(this.name);
/*     */   }
/*     */ 
/*     */   public void setLevel(int level) {
/*  77 */     this.level = level;
/*     */   }
/*     */ 
/*     */   public int getLevel() {
/*  81 */     return this.level;
/*     */   }
/*     */ 
/*     */   public void setName(String groupName) {
/*  85 */     this.name = groupName;
/*     */   }
/*     */ 
/*     */   public void add(Group group) {
/*  89 */     this.children.add(group);
/*     */   }
/*     */ 
/*     */   public List<Group> getChildren() {
/*  93 */     return this.children;
/*     */   }
/*     */ 
/*     */   public List<Group> getAllChildren()
/*     */   {
/* 102 */     if ((this.children == null) || (this.children.size() == 0)) {
/* 103 */       return null;
/*     */     }
/*     */ 
/* 106 */     List groups = new ArrayList();
/* 107 */     for (Group group : this.children) {
/* 108 */       groups.add(group);
/*     */ 
/* 110 */       List childGroups = group.getAllChildren();
/* 111 */       if ((childGroups != null) && (childGroups.size() > 0)) {
/* 112 */         groups.addAll(childGroups);
/*     */       }
/*     */     }
/* 115 */     return groups;
/*     */   }
/*     */ 
/*     */   public List<Group> getAllGroups()
/*     */   {
/* 122 */     List groups = new ArrayList();
/* 123 */     groups.add(this);
/*     */ 
/* 125 */     List childrenGroups = getAllChildren();
/* 126 */     if (childrenGroups != null) {
/* 127 */       groups.addAll(childrenGroups);
/*     */     }
/* 129 */     return groups;
/*     */   }
/*     */ 
/*     */   public List<Integer> getAllGroupIds()
/*     */   {
/* 138 */     List ids = new ArrayList();
/*     */ 
/* 140 */     ids.add(Integer.valueOf(this.id));
/*     */ 
/* 142 */     if ((this.children == null) || (this.children.size() == 0)) {
/* 143 */       return ids;
/*     */     }
/*     */ 
/* 146 */     for (Group child : this.children) {
/* 147 */       ids.add(Integer.valueOf(child.id));
/*     */ 
/* 149 */       List childrenIds = child.getChildrenIds();
/* 150 */       if ((childrenIds != null) && (childrenIds.size() != 0))
/*     */       {
/* 153 */         ids.addAll(childrenIds);
/*     */       }
/*     */     }
/* 156 */     return ids;
/*     */   }
/*     */ 
/*     */   private List<Integer> getChildrenIds()
/*     */   {
/* 165 */     if ((this.children == null) || (this.children.size() == 0)) {
/* 166 */       return null;
/*     */     }
/* 168 */     List ids = new ArrayList();
/* 169 */     for (Group child : this.children) {
/* 170 */       ids.add(Integer.valueOf(child.id));
/* 171 */       List childIds = child.getChildrenIds();
/* 172 */       if ((childIds != null) && (childIds.size() > 0)) {
/* 173 */         ids.addAll(childIds);
/*     */       }
/*     */     }
/*     */ 
/* 177 */     return ids;
/*     */   }
/*     */ 
/*     */   public String getAllIds()
/*     */   {
/* 186 */     return StringUtils.join(getAllGroupIds().toArray(), ",");
/*     */   }
/*     */ 
/*     */   public String toJSONString()
/*     */   {
/* 193 */     Map item = new HashMap();
/* 194 */     item.put("GroupId", Integer.valueOf(this.id));
/* 195 */     item.put("GroupName", this.name);
/* 196 */     item.put("ParentGroupId", Integer.valueOf(this.parent == null ? 0 : this.parent.id));
/*     */ 
/* 198 */     return JSONObject.fromObject(item).toString();
/*     */   }
/*     */ }

/* Location:           C:\E\referenceProject\CRM参考\qikebao\WEB-INF\lib\qikebao.jar
 * Qualified Name:     com.newcrm.bean.Group
 * JD-Core Version:    0.6.1
 */